#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
//int main()
//{
//	FILE* pf;
//	pf = fopen("test.txt", "w");
//	if (pf == NULL)
//	{
//		perror(fopen);
//		return 1;
//	}
//	fputc('a', pf);
//	fputc('b', pf);
//	fclose(pf);
//	pf == NULL;
//
//}


////fputc
//int main()
//{
//	FILE* pf;
//	pf = fopen("test.txt", "w");
//	if (pf == NULL)
//	{
//		perror(fopen);
//		return 1;
//	}
//	int i = 0;
//	for (i = 0; i < 26; i++)
//	{
//		fputc('a' + i, pf);
//	}
//	fclose(pf);
//	pf == NULL;
//
//}


////fgetc
//int main()
//{
//	FILE* pf;
//	pf = fopen("test.txt", "r");
//	if (pf == NULL)
//	{
//		perror(fopen);
//		return 1;
//	}
//	/*int i = 0;
//	for (i = 0; i < 26; i++)
//	{
//
//		int ch = fgetc(pf);
//		printf("%c", ch);
//	}*/
//	int ch = 0;
//	while ((ch=fgetc(pf)) != EOF)
//	{
//		printf("%c", ch);
//	}
//	fclose(pf);
//	pf == NULL;
//
//}


//fgets

//int main()
//{
//	FILE* pf;
//	pf = fopen("test.txt", "r");
//	if (pf == NULL)
//	{
//		perror(fopen);
//		return 1;
//	}
//	char arr[20] = "xxxxxxxxx";
//	fgets(arr, 20, pf);
//	printf("%s", arr);
//	fclose(pf);
//	pf == NULL;
//
//}


//fprintf
//struct S
//{
//	char name[20];
//	int age;
//	float score;
//};
//int main()
//{
//	struct S s = { "zhangsan",20,95.5f };
//	FILE* pf;
//	pf = fopen("test.txt", "w");
//	if (pf == NULL)
//	{
//		perror(fopen);
//		return 1;
//	}
//	fprintf(pf, "%s %d %.1f", s.name, s.age, s.score);
//	fclose(pf);
//	pf == NULL;
//
//}

//fscanf
struct S
{
	char name[20];
	int age;
	float score;
};
int main()
{
	struct S s = { 0 };
	FILE* pf;
	pf = fopen("test.txt", "r");
	if (pf == NULL)
	{
		perror(fopen);
		return 1;
	}
	fscanf(pf, "%s %d %.1f", s.name, &(s.age), &(s.score));
	printf("%d %s %.1f", s.name, s.age, s.score);
	fclose(pf);
	pf == NULL;

}